home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor1 / prime.src < prev    next >
Text File  |  1991-02-21  |  3KB  |  134 lines

  1. %%HP: T(3)A(D)F(,);
  2. @
  3. @ PRIME (generated by hp48pack at 07.12.90)
  4. @ by Klaus Kalb
  5. @$NAME     PRIME
  6. @$DATE     06.12.90
  7. @$VERSION  2.00
  8. @
  9. @
  10. @ PRIME?         2.00 06.12.90
  11. @ BGCD           1.00 
  12. @ MILRAB         1.00 
  13. @
  14. @
  15. \<< CLLCD
  16.   "----------------------" DUP 1 DISP
  17.   "PRIME    2.00 06.12.90" 2 DISP
  18.    DUP 3 DISP
  19.    "    PRIMALITY TEST" 4 DISP
  20.    "    by Klaus Kalb" 5 DISP
  21.    6 DISP
  22.   " unpack ?" 7 DISP
  23.   0
  24. @
  25. @ $NAME    PRIME?
  26. @ $DATE    06.12.90
  27. @ $VERSION 2.00
  28. @
  29.  
  30. \<<
  31.     \-> n 
  32.     \<<
  33.       RCLF 64 STWS         @ save the flag status 
  34.  
  35.       @ check the argument
  36.       n DTAG
  37.       IF DUP TYPE NOT
  38.       THEN
  39.         ABS DUP R\->B DUP B\->R ROT
  40.   IF SAME THEN 
  41.           0
  42.         ELSE
  43.           515              @ bad argument value
  44.         END
  45.       ELSE
  46.         IF DUP TYPE 10 SAME THEN
  47.           0
  48.         ELSE
  49.           514              @ bad argument type
  50.         END
  51.       END
  52.       
  53.       @ make an error
  54.       IF DUP THEN 
  55.         ROT STOF
  56.   SWAP DROP
  57.         IF -55 FC? THEN n SWAP END
  58.   DOERR
  59.       END
  60.  
  61.       DROP
  62.       'n' STO
  63.  
  64.       CASE
  65.         n #2d <                 THEN 0 END
  66.         { #2d #3d #5d #7d } n POS         THEN 1 END
  67.         #210d n BGCD #1d \=/              THEN 0 END
  68.         #121d n >                    THEN 1 END
  69.         #9156001667401012567d  n BGCD #1d \=/  THEN 0 END
  70.         #12474161705592459703d n BGCD #1d \=/  THEN 0 END
  71.   #11449d n >                   THEN 1 END
  72.   n 2 MILRAB NOT                THEN 0 END
  73.   #42799d n >                   THEN 1 END
  74.   n 3 MILRAB NOT                THEN 0 END
  75.   #1373653d n >                 THEN 1 END
  76.   n 5 MILRAB NOT                THEN 0 END
  77.   #25326001d n >                THEN 1 END
  78.   n 7 MILRAB NOT                THEN 0 END
  79.   #3215031751d n ==             THEN 0 END
  80.   #25000000000d n >             THEN 1 END
  81.         2
  82.       END
  83.       
  84.       SWAP STOF
  85.       
  86.     \>>
  87. \>>
  88. @ $END PRIME?
  89.  
  90. 'PRIME?'
  91.  
  92. @ $NAME    BGCD
  93. @ $VERSION 1.00
  94. @
  95. "D9D20E1632FDE81ECD46CCD20F70008F77F35AF397845AFE978C48087091AFE8
  96. 0870F081E81CB7765EF808B09081E65FF9F650AFEB7A9780181C808608F65EFA
  97. FA97BC0A74A7F64FF8F59E3593632B21302438"
  98.  
  99. ASC\->
  100. @ $END BGCD
  101.  
  102. 'BGCD'
  103.  
  104. @ $NAME    MILRAB
  105. @ $VERSION 1.00
  106. @
  107. "D9D20E1632FDE8199040D9D209F345322309F34532230CCD20900006380B2130
  108. 4CD46D9D209F345CCD20900006160B2130DF040D9D20322309F34532230CCD20
  109. 900006530B2130ECD46D9D202C230CA13050F353DE350BE35CCD20431008F77F
  110. 3510A1008087093978D0A7CA7C9789120808244B2A28F07F35808C20808249C2
  111. A268EFA7C9783DAF381CB77808605F101AF0B74103111978E380870F181C1011
  112. 1211A7950102111808605E11311A7240103111A7C97CDC113AF2B7697202118A
  113. 7E97251A7F97B11AF67C0065EF6B5F604FAF19780080870D181CA761209F650B
  114. 72120808607EA71A7C1209F050B7812097CECAF401B213093632B213010A4"
  115.  
  116. ASC\->
  117. @ $END MILRAB
  118.  
  119. 'MILRAB'
  120.  
  121. @ user dialog
  122.  
  123.   { { "YES" \<< WHILE DUP 0 SAME NOT
  124.              REPEAT STO END DROP
  125.              " PRIME installed." 7 DISP 3 FREEZE
  126.              0 MENU \>> }
  127.              "" "" "" "" 
  128.     { "NO" \<< WHILE DUP 0 SAME NOT
  129.              REPEAT DROP DROP END DROP
  130.              0 MENU \>> }
  131.   } 3 FREEZE TMENU \>> 
  132.  
  133. @$END PRIME
  134.